package com.ecarx.vhaltests;

public class IpcpClient {
    static {
        System.loadLibrary("vhalmock-jni");
    }

    //
    public native boolean setConfig(int service_id, int[] oper_ids);

    public native boolean setIntPropertyValue(int service_id, int oper_id, int property_Value);

    public native boolean setStringPropertyValue(int service_id, int oper_id, String property_Value);

    public native boolean setIntSignal(int service_id, int oper_id, int availability, int data, int format, int status);

    public native boolean setCarconfigSignal(int service_id, int oper_id, int[] config_indexs, int[] values);

    public native boolean setVGMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setVDDMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setBBMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setASDMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setPDCMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native void setAlive(boolean a);

    public native boolean getAlive();
    public native boolean setCarconfig1000Signal(int service_id, int oper_id, int[] config_indexs, int[] values);
    public native boolean setTimeoutSignal(int service_id, int oper_id, String[] t_indexs, int[] values);
    // get property value from mockserver
    public native String getPropertyValueFromMock(int service_id, int oper_id);

    public native boolean setClimateSignal(int service_id, int oper_id, String[] config_indexs, int[] availabilities, int[] data);

    public native boolean setSRSSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setClimaSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setCEMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setDMSMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setCDMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setHUDSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setDimHUDSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setCCSMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);
    public native boolean setSWSMSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setFPLSignal(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setSwcOdoOfTripInfo(int service_id, int oper_id, String[] config_indexs, int[] values);

    public native boolean setPowerCtrlSignal(int svc_id, int oper_id, String[] config_indexs, int[] values);
}